home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Windows News 2010 Summer - Disc 1
/
WN_Ete2010_CD1.iso
/
Onglet5
/
Weezo
/
Weezo setup.exe
/
{code_appDir}
/
www
/
js
/
viewImage-src.js
< prev
next >
Wrap
Text File
|
2010-05-19
|
25KB
|
796 lines
var controlsLocked=0;
var dragging=false;
var requestInProgress=0;
var fileTotal=0;
var filePos=0;
var border=10;
var slideshowRunning=0;
var slideShowTimer;
var prevPreloaded=0;var nextPreloaded=0; var imgLoaded=0;
var toggleZoomLocked=0;
var loadBuffer;
var fw;var fh;var rw;var rh;var w;var h;
var rot=0;
var pfw;var pfh;var nfw;var nfh;
var nw;var nh;var pw;var ph;
var pTitle;var nTitle;
var aw; var ah; var at; var al;
var zooming=0;
var slideAnimCompleted=1;
var slideAbort=0;
var skipImages=0;
var sx; var sy; var ex; var ey;
function next(){
controlsLocked=1;
didZoom=0;
requestInProgress++;
submitFrm('next');
}
function prev(){
controlsLocked=1;
didZoom=0;
requestInProgress++;
submitFrm('prev');
}
function init(){
if(window.orientation!==undefined) updateOrientation(); else resetArea();
if(zoom=='resized') {
dd.elements['imgDiv'].setInertia(false);
dd.elements['imgNextDiv'].setInertia(false);
dd.elements['imgPrevDiv'].setInertia(false);
}
submitFrm('view');
if(slideshow) slideshowResume();
}
function setImageData(title, filename, sourceWidth, sourceHeight, pos, total){
setTitle(title);
setFilePos(pos,total);
D.comForm.data2.value=filename;
if(sourceWidth && sourceHeight) {fw=sourceWidth; fh=sourceHeight;}
}
function setTitle(title){
dgi('viewImageTitle').innerHTML=title;
winMe.setCaption(title);
/*
dgi('img').title=title;
dgi('imgNext').title=title;
dgi('imgPrev').title=title;
dgi('imgNext').alt=title;
dgi('imgPrev').alt=title;
*/
}
function setFilePos(newPos,newTotal){
if(newTotal) fileTotal=newTotal;
if(newPos=='+') {filePos++; if(filePos>fileTotal) filePos=1}
else if(newPos=='-') {filePos--; if(filePos<1) filePos=fileTotal}
else filePos=newPos;
dgi('filePosDiv').innerHTML=filePos+"/"+fileTotal;
}
function setLoading(l){/*dgi('loading').style.visibility=((l)?'visible':'hidden');*/}
function buttonPrev(){
if(!slideAnimCompleted) slideAbort--;
if(controlsLocked || (!slideAnimCompleted) || zooming || dragging) return;
if(zoom=='full') slideAnim(1,'prev',0);
else slideAnim(slideSteps-1, 'prev', aw/2+al-w/2);
}
function buttonNext(){
if(!slideAnimCompleted) slideAbort++;
if(controlsLocked || (!slideAnimCompleted) || zooming || dragging) return;
if(slideShowTimer) slideShowTimer=clearTimeout(slideShowTimer);
if(zoom=='full') slideAnim(1,'next',0);
else slideAnim(slideSteps-1, 'next', aw/2+al-w/2);
}
function rotateLeft(){submitFrm('rotate'+((rot==0)?270:(rot-90)));}
function rotateRight(){submitFrm('rotate'+((rot==270)?0:(rot+90)));}
function resizeImg(id,width,height){
if(!width || !height) return;
dd.elements[id+'Div'].resizeTo(width,height);
dgi(id).style.width =width+'px';
dgi(id).style.height=height+'px';
if(id=='img') {w=width;h=height;}
}
function resetArea(){
var ih=winMe.getInnerHeight();
var iw=winMe.getInnerWidth();
if(window.orientation!==undefined && zoom=='resized'){//iPhone
var meta=dgn("viewport").getAttribute('content');
if(meta.indexOf('width=')) {
meta=meta.substr(meta.indexOf('width=')+6);
if(meta.indexOf(',')) meta=meta.substr(0,meta.indexOf(','));
meta=meta.replace(/ /,'');
if(meta=='device-width') meta=(iorient()?480:268);
iw=meta;
}
meta=dgn("viewport").getAttribute('content');
if(meta.indexOf('height=')) {
meta=meta.substr(meta.indexOf('height=')+7);
if(meta.indexOf(',')) meta=meta.substr(0,meta.indexOf(','));
meta=meta.replace(/ /,'');
if(meta=='device-height') meta=(iorient()?320:416);
ih=meta;
}
}
if(window.orientation!==undefined && zoom=='full' && fw && fh){iw=fw;ih=fh}
setActualHeight(dgi('scrollDiv'),ih - actualOffsetTop(dgi('scrollDiv')));
aw=iw;ah=ih - actualOffsetTop(dgi('scrollDiv'));
al=0; at=actualOffsetTop(dgi('scrollDiv'));
dd.recalc();
//alert(iw+','+ih)
}
function winResized(ww,wh){
if(window.orientation!==undefined && ww!==undefined) return;// don't process onresize events on iPhone
resetArea();
var prevW=rw;
var prevH=rh;
dims=resizedDimensions(fw,fh); rw=dims[0];rh=dims[1];
if((prevW<rw || prevH<rh) && !imgFullSizeLoaded) {
dgi('img').src=imgURL.replace(/<WIDTH>/,rw).replace(/<HEIGHT>/,rh).replace(/<ANGLE>/,rot);
}
if(zoom=='resized') {
resizeImg('img',rw,rh);
centerImg();
}
else {
dd.obj=dd.elements['imgDiv'];
duringDrag();
dd.obj=null;
}
dims=resizedDimensions(nfw,nfh)
nw=dims[0];nh=dims[1];
resizeImg('imgNext',nw,nh);
dims=resizedDimensions(pfw,pfh)
pw=dims[0];ph=dims[1];
resizeImg('imgPrev',pw,ph);
setPrevPos(!dragging);setNextPos(!dragging);
}
function winStateChanged(prevState, newState){
if(prevState==newState) return;
if(newState=='max') {
winMe.setBorderless();
}
else winMe.resetBorders();
if(winMe.isFrameless()){
dgi('normalSizeButton').style.display=((newState=='max')?'':'none')
dgi('normalSizeButton2').style.display=((newState=='max')?'':'none')
}
}
function centerImg() {dd.elements['imgDiv'].moveTo(al+aw/2-w/2,at+ah/2-h/2)}
function setNextPos(hide) {
if(hide)dd.elements['imgNextDiv'].moveTo(aw+1000,ah/2+at-nh/2);
else dd.elements['imgNextDiv'].moveTo(dd.elements['imgDiv'].x+w/2+aw-nw/2,ah/2+at-nh/2)
}
function setPrevPos(hide) {
if(hide)dd.elements['imgPrevDiv'].moveTo(-2000-aw,ah/2+at-ph/2);
else dd.elements['imgPrevDiv'].moveTo(dd.elements['imgDiv'].x+w/2-aw-pw/2,ah/2+at-ph/2)}
function toggleZoom(center, force){
if(toggleZoomLocked) return;
if(!force && (dragCancelOnclick || zooming || dragging || slideshow || mouseY<at || mouseY<dgi('headerNormal').offsetHeight*1.5 || controlsLocked)) return false;
toggleZoomLocked=1; setTimeout('toggleZoomLocked=0',50);
if(bDrag && zoom=="resized" && !force){
if(mouseX<aw/4+al) {buttonPrev();return true;}
if(mouseX>3*aw/4+al) {buttonNext();return true;}
}
if(zoom=='resized' && rw==fw) return false;
zooming=1;
sx=dd.elements['imgDiv'].x; sy=dd.elements['imgDiv'].y;
dd.elements['imgDiv'].setDraggable(false);
dd.elements['imgNextDiv'].setDraggable(false);
dd.elements['imgPrevDiv'].setDraggable(false);
// Go resized
if(zoom=='full') {
ex=Math.floor(aw/2-rw/2)+al;
ey=Math.floor(ah/2-rh/2)+at;
setTimeout("submitFrm('resized')",100);
zoomAnim(zoomSteps,-1);
if(bBrowser=='iPhone') dd.disabled=0;
}
// Go full
else{
var targX= - fw * ((mouseX-actualOffsetLeft(dgi('imgDiv')))/w-0.5);
var targY= - fh * ((mouseY-actualOffsetTop (dgi('imgDiv')))/h-0.5);
if(center){targX=0;targY=0;}
ex=targX+aw/2+al-fw/2;
ey=targY+ah/2+at-fh/2;
if(ex>al || ex<aw-fw+al) ex=(Math.max(Math.min(ex,0),aw-fw+al));
if(ey>at || ey<ah-fh+at) ey=(Math.max(Math.min(ey,at),ah-fh+at));
if(fw<=aw) ex=aw/2+al-fw/2;
if(fh<=ah) ey=ah/2+at-fh/2;
if(!imgFullSizeLoaded && rw<fw) {
dgi('imgCacheFull').src=resizedURL(imgURLFull,0,0,rot);
setLoading(1);
}
setPrevPos(1);setNextPos(1);
setTimeout("submitFrm('fullsize')",100);
zoomAnim(0,1);
dd.moveFunc=function(e){return true}
if(bBrowser=='iPhone') dd.disabled=1;
}
return true;
}
function zoomAnim(step,dir){
if((dir<0 && step==0) || (dir>0 && step==zoomSteps)) {
if(dir>0) zoom='full'; else zoom='resized';
zooming=0; didZoom=1;
if(!slideshow) {
dd.elements['imgDiv'].setDraggable(true);
dd.elements['imgNextDiv'].setDraggable(true);
dd.elements['imgPrevDiv'].setDraggable(true);
}
dd.elements['imgDiv'].setInertia(zoom=='full');
dd.elements['imgNextDiv'].setInertia(zoom=='full');
dd.elements['imgPrevDiv'].setInertia(zoom=='full');
if(adaptViewport) {
if(zoom=='full') {
dgn('viewport').setAttribute("content", "width="+fw+", height="+fh+", user-scalable=yes");
dgi('imageFrameBody').style.overflow='';
dgi('frame1').style.overflow='';
D.body.style.width=fw+'px'; D.body.style.height=fh+'px';
}
else{
if(iorient()==0){ // portrait
dgn('viewport').setAttribute("content", "width=320, height=416, user-scalable=no, minimum-scale=1, maximum-scale=1, initial-scale=1");
D.body.style.width='320px'; D.body.style.height='416px';
}
if(iorient()==1){ // landscape
dgn('viewport').setAttribute("content", "width=480, height=268, user-scalable=no, minimum-scale=1, maximum-scale=1, initial-scale=1");
D.body.style.width='480px'; D.body.style.height='268px';
}
dgi('imageFrameBody').style.overflow='hidden';
dgi('frame1').style.overflow='hidden';
}
winResized();
}
return;
}
step+=dir;
var animPerc=(dir>0)?step/zoomSteps:((zoomSteps-step)/zoomSteps);
w=rw+(fw-rw)*step/zoomSteps; h=rh+(fh-rh)*step/zoomSteps;
resizeImg('img',w,h);
dd.elements['imgDiv'].moveTo((sx+(ex-sx)*animPerc),(sy+(ey-sy)*animPerc));
setTimeout('zoomAnim('+step+','+dir+')',1);
}
function slideAnim(step, dir, startX){
step--;
if(zoom=='resized'){
if(dir=='cancel') targetX=(al+aw/2-w/2);
else if(dir=='next') targetX=(al+aw/2-w/2-aw);
else if(dir=='prev') targetX=(al+aw/2-w/2+aw);
var perc=Math.pow(step/slideSteps,((dir=='cancel')?3:2));
dd.elements['imgDiv'].moveTo (targetX+(startX-targetX)*perc,at+ah/2-h/2);
setNextPos();
setPrevPos();
}
slideAnimCompleted=0;
//if(step==slideSteps-1 && (dir=='next'||dir=='prev')) skipImages+=(dir=='next')?1:-1;
/**
* Anim completed
*/
if(slideAbort) step=0;
if(step<=0){
dragging=0; loadBuffer=0;
disableImgOnload=1;
dgi('imgCacheFull').src='';
if(requestInProgress>0 && !slideAbort) {
wl.asr.cancelAll();
skipImages+=(dir=='next')?1:-1;
requestInProgress--;
}
if(dir=='prev'){
nTitle=dgi('viewImageTitle').innerHTML; setTitle(pTitle);
setFilePos('-');
if(!slideAbort) prev();
dgi('imgNext').src=dgi('img').src;
resizeImg('imgNext',w,h);
nfw=fw;nfh=fh;nw=w;nh=h;
imgLoaded=0;
swapImgs('imgPrev','img');
fw=pfw;fh=pfh;
dims=resizedDimensions(fw,fh); rw=dims[0];rh=dims[1];
if(zoom=='resized') {w=pw;h=ph;} else {w=fw;h=fh;}
//resizeImg('img',w,h); centerImg();
if(zoom=='full') resizeImg('img',w,h); centerImg();
//dgi('img').style.visibility="visible";
dgi('imgPrev').style.visibility="hidden";
dgi('imgPrev').src=emptySrc;
dgi('imgCachePrev').src=emptySrc;
prevPreloaded=false; nextPreloaded=true;
}
if(dir=='next'){
pTitle=dgi('viewImageTitle').innerHTML; setTitle(nTitle);
setFilePos('+');
if(!slideAbort) next();
dgi('imgPrev').src=dgi('img').src;
resizeImg('imgPrev',w,h);
pfw=fw;pfh=fh;pw=w;ph=h;
imgLoaded=0;
swapImgs('img','imgNext');
fw=nfw;fh=nfh;
dims=resizedDimensions(fw,fh); rw=dims[0];rh=dims[1];
if(zoom=='resized') {w=nw;h=nh;} else {w=fw;h=fh;}
//resizeImg('img',w,h); centerImg();
if(zoom=='full') resizeImg('img',w,h); centerImg();
//dgi('img').style.visibility="visible";
dgi('imgNext').style.visibility="hidden";
dgi('imgNext').src=emptySrc;
dgi('imgCacheNext').src=emptySrc;
prevPreloaded=true; nextPreloaded=false;
}
setPrevPos(1);
setNextPos(1);
slideAnimCompleted=1;
disableImgOnload=0;
if(slideAbort){
if(slideAbort>0){
slideAbort--; skipImages++;
if(zoom=='full') slideAnim(1,'next',0);
else slideAnim(slideSteps-1, 'next', aw/2+al-w/2);
}
else{
slideAbort++; skipImages--;
if(zoom=='full') slideAnim(1,'prev',0);
else slideAnim(slideSteps-1, 'prev', aw/2+al-w/2);
}
}
}
else setTimeout('slideAnim('+step+',"'+dir+'",'+startX+')',1);
}
function swapImgs(id1,id2){
dgi(id1).id='swapId';
dgi(id2).id=id1;
dgi('swapId').id=id2;
dgi(id1+'Div').id='swapId';
dgi(id2+'Div').id=id1+'Div';
dgi('swapId').id=id2+'Div';
var tmp=dd.elements[id2+'Div'];
dd.elements[id2+'Div']=dd.elements[id1+'Div'];
dd.elements[id1+'Div']=tmp;
}
function my_asUpdt(dataName,dataValue){
sTimeout=dataValue*1000;
if(slideshowRunning && slideShowTimer){
clearTimeout(slideShowTimer);
slideShowTimer=setTimeout("buttonNext()",sTimeout);
}
dgi("asUpdt"+SLIDESHOW_TIMER_CONTROL_NAME+"_thumb").title=dataValue+secCaption;
dgn("asUpdt"+SLIDESHOW_TIMER_CONTROL_NAME).title=dataValue+secCaption;
}
function duringDrag(){
if(dd.obj.name!='imgDiv' && dd.obj.name!='imgPrevDiv' && dd.obj.name!='imgNextDiv') return;
if(zooming) return;
/*if(controlsLocked) return dd.obj.moveTo(dd.obj.pickX,dd.obj.pickY);*/
if(zoom=='resized'){
dragging=1;
var posX=dd.obj.pickX+((mouseX-dd.obj.pickMouseX<0)?-1:1)*Math.pow(Math.abs(mouseX-dd.obj.pickMouseX),1.0);
posX=Math.max(Math.min(posX,3*aw/2-w/2),-w/2-aw/2)
dd.obj.moveTo(posX,at+ah/2-h/2);
setNextPos();
setPrevPos();
}
else{
if(adaptViewport) {
var scx=dd.obj.x; var scy=dd.obj.y;
dd.obj.moveTo(al,at);
window.scrollTo(-scx-al,-scy-at)
return;
}
var corX=dd.obj.x;
var corY=dd.obj.y;
if((dd.obj.x>al || dd.obj.x<aw+al-w) && fw>aw) corX=Math.max(Math.min(dd.obj.x,al),aw+al-w);
else if(fw<aw) corX=aw/2+al-fw/2;
if((dd.obj.y>at || dd.obj.y<ah+at-h) && fh>ah) corY=Math.max(Math.min(dd.obj.y,at),ah+at-h)
else if(fh<ah) corY=ah/2+at-fh/2;
if(corX!=dd.obj.x || corY!=dd.obj.y) dd.obj.moveTo(corX,corY);
}
}
function preDrop(){
if(zoom=='full' /*|| controlsLocked*/ || slideshow) return;
var dt=(new Date()).getTime()-dd.obj.pickDate;
if(dragging && dt<300 && Math.abs(dd.obj.mdx)<=30) {
if(toggleZoom(0,1)) {dragging=0;return;}
}
if(!dragging) return;
if (dd.obj.mdx> 0.30*aw || (dd.obj.mdx> 30 && dt<300)) slideAnim(slideSteps-1, 'prev', dd.obj.x);
else if (dd.obj.mdx<- 0.30*aw || (dd.obj.mdx<-30 && dt<300)) slideAnim(slideSteps-1, 'next', dd.obj.x);
else slideAnim(slideSteps-1, 'cancel', dd.obj.x);
}
function submitFrm(action){
fillAndSubmit(undefined,undefined,action+((skipImages!=0)?'/'+skipImages:''),(aw-border) + "x" + (ah-border),true);
}
function resizedDimensions(sourceWidth, sourceHeight){
var aaw=(aw-border);
var aah=(ah-border);
var ir=sourceWidth/sourceHeight;
var rr=aaw/aah;
if(ir>=rr) {resW=aaw;resH=aaw/ir;}
else {resW=aah*ir;resH=aah;}
if(resW>sourceWidth) {resW=sourceWidth;resH=sourceHeight;}
resW=Math.floor(resW);resH=Math.floor(resH);
return new Array(resW, resH);
}
function resizedURL(templateURL, sourceWidth, sourceHeight, rotation, preview){
if(rotation==undefined) rotation=0;
var resW, resH;
if(!sourceWidth || !sourceHeight){
resW=0;resH=0;
}
else{
var aaw=(aw-border);
var aah=(ah-border);
if(preview) {aaw/=4; aah/=4;}
var ir=sourceWidth/sourceHeight;
var rr=aaw/aah;
if(ir>=rr) {resW=aaw;resH=aaw/ir;}
else {resW=aah*ir;resH=aah;}
if(resW>=sourceWidth) {resW='';resH='';}
resW=Math.floor(resW);resH=Math.floor(resH);
}
return templateURL.replace(/<WIDTH>/,resW).replace(/<HEIGHT>/,resH).replace(/<ANGLE>/,rotation);
}
/**
* IMG ONLOAD
*/
var disableImgOnload=0;
function loaded(id){
if(disableImgOnload) return;
var obj=dgi(id);
if(!obj.src || obj.src.indexOf('/gfx/v.gif')!=-1) return;
switch(id){
case 'img':
dgi('img').style.visibility='visible';
setLoading(false);
imgLoaded=1;
if(slideshowRunning && !slideShowTimer) slideShowTimer=setTimeout("buttonNext()",sTimeout);
if(phpBrowser=='opera') return;
break;
case 'imgCacheFull':
dgi('img').src=obj.src;
resizeImg('img',w,h);
dgi('img').style.visibility='visible';
setLoading(false);
imgLoaded=1;
imgFullSizeLoaded=1;
obj.src='';
return;
break;
case 'imgNext':
var dims=resizedDimensions(nfw,nfh);
nw=dims[0]; nh=dims[1];
if(!dragging) setNextPos(1); else setNextPos();
resizeImg('imgNext',nw,nh);
dgi('imgNext').style.visibility="visible";
nextPreloaded=true;
break;
case 'imgPrev':
var dims=resizedDimensions(pfw,pfh);
pw=dims[0]; ph=dims[1];
if(!dragging) setPrevPos(1); else setPrevPos();
resizeImg('imgPrev',pw,ph);
dgi('imgPrev').style.visibility="visible";
prevPreloaded=true;
break;
case 'imgCacheNext':
dgi('imgNext').src=dgi('imgCacheNext').src;
nextPreloaded=true;
break;
case 'imgCachePrev':
dgi('imgPrev').src=dgi('imgCachePrev').src;
prevPreloaded=true;
break;
}
proceedLoadBuffer();
}
function proceedLoadBuffer(){
if(!loadBuffer || loadBuffer.length==0) return;
switch(loadBuffer.shift()) {
case 'prevSmall':
if(reducedPreview) dgi('imgPrev').src=resizedURL(imgURLPrev,pfw,pfh,0,true);
break;
case 'prevResized':
dgi('imgCachePrev').src=resizedURL(imgURLPrev,nfw,nfh);
break;
case 'prevFull':
dgi('imgCachePrev').src=resizedURL(imgURLPrev,0,0);
break;
case 'nextSmall':
if(reducedPreview) dgi('imgNext').src=resizedURL(imgURLNext,nfw,nfh,0,true);
break;
case 'nextResized':
dgi('imgCacheNext').src=resizedURL(imgURLNext,nfw,nfh);
break;
case 'nextFull':
dgi('imgCacheNext').src=resizedURL(imgURLNext,0,0);
break;
}
}
function loadProceed(updatePrevNext){
setLoading(true);
var url;
if(zoom=='resized') {
imgFullSizeLoaded=false;
dims=resizedDimensions(fw,fh);rw=dims[0];rh=dims[1];
resizeImg('img',rw,rh);
centerImg();
if(rw==fw && rh==fh) url=resizedURL(imgURLFull,0,0,rot); // If resized size == full size, use full-size URL
else url=resizedURL(imgURL,fw,fh,rot);
}
else {
imgFullSizeLoaded=true;
w=fw;h=fh;resizeImg('img',fw,fh);centerImg();
dims=resizedDimensions(fw,fh);rw=dims[0];rh=dims[1];
url=resizedURL(imgURLFull,0,0,rot);
}
dgi('img').src=url;
if(adaptViewport) updateOrientation();
var dims=resizedDimensions(nfw,nfh); nw=dims[0]; nh=dims[1];
resizeImg('imgNext',nw,nh); setNextPos();
dims =resizedDimensions(pfw,pfh); pw=dims[0]; ph=dims[1];
resizeImg('imgPrev',pw,ph); setPrevPos();
if(updatePrevNext) {
if(reducedPreview) loadBuffer=new Array('nextSmall', 'prevSmall', 'nextResized', 'prevResized');
else loadBuffer=new Array('nextResized', 'prevResized');
}
controlsLocked=0;
if(phpBrowser=='opera') proceedLoadBuffer();
}
function nextProceed(resetImgDims){
skipImages=0;
if(requestInProgress>0) requestInProgress--;
if(!slideAnimCompleted) return;
if(!slideAnimCompleted) return setTimeout("nextProceed("+resetImgDims+")",10);
if(!imgLoaded) setLoading(true);
if(reducedPreview)
loadBuffer=new Array('nextSmall', (zoom=='full')?'nextFull':'nextResized');
else
loadBuffer=new Array((zoom=='full')?'nextFull':'nextResized');
// Reset current image dimension and position if some images have been skipped
var dims;
if(resetImgDims){
dims=resizedDimensions(fw,fh); rw=dims[0];rh=dims[1];
if(zoom=='resized') {
resizeImg('img',rw,rh);
centerImg();
}
}
dims=resizedDimensions(nfw,nfh); nw=dims[0]; nh=dims[1];
resizeImg('imgNext',nw,nh); setNextPos();
controlsLocked=0;
var url; var i=0;
if(zoom=='resized') {
imgFullSizeLoaded=0;
if(rw==fw && rh==fh) url=resizedURL(imgURLFull,0,0,rot); // If resized size == full size, use full-size URL
else url=resizedURL(imgURL,fw,fh,rot);
dgi('img').src=url;
while(dgi('img').src.indexOf('%3CANGLE%')!=-1 && ++i<10) dgi('img').src=url;
}
else {
if(!zooming && !didZoom) {
w=fw;h=fh;
centerImg();
}
url=resizedURL(imgURLFull,0,0,rot);
dgi('imgCacheFull').src=url;
while(dgi('imgCacheFull').src.indexOf('%3CANGLE%')!=-1 && ++i<10) dgi('imgCacheFull').src=url; // IE WA
}
if(adaptViewport) updateOrientation();
if(imgLoaded || phpBrowser=='opera' || bBrowser=='iPhone') {setLoading(false); proceedLoadBuffer();}
}
function prevProceed(resetImgDims){
if(requestInProgress>0) requestInProgress--;
skipImages=0;
if(!slideAnimCompleted) return setTimeout("prevProceed("+resetImgDims+")",10);
if(!imgLoaded) setLoading(true);
if(reducedPreview)
loadBuffer=new Array('prevSmall', (zoom=='full')?'prevFull':'prevResized');
else
loadBuffer=new Array((zoom=='full')?'prevFull':'prevResized');
// Reset current image dimension and position if some images have been skipped
var dims;
if(resetImgDims){
dims=resizedDimensions(fw,fh); rw=dims[0];rh=dims[1];
if(zoom=='resized') {
resizeImg('img',rw,rh);
centerImg();
}
}
dims=resizedDimensions(pfw,pfh); pw=dims[0]; ph=dims[1];
resizeImg('imgPrev',pw,ph); setPrevPos();
controlsLocked=0;
var url; var i=0;
if(zoom=='resized') {
imgFullSizeLoaded=false;
if(rw==fw && rh==fh) url=resizedURL(imgURLFull,0,0,rot); // If resized size == full size, use full-size URL
else url=resizedURL(imgURL,fw,fh,rot);
dgi('img').src=url;
while(dgi('img').src.indexOf('%3CANGLE%')!=-1 && ++i<10) dgi('img').src=url;
}
else {
if(!zooming && !didZoom) {
w=fw;h=fh;
centerImg();
}
url=resizedURL(imgURLFull,0,0,rot);
dgi('imgCacheFull').src=url;
while(dgi('imgCacheFull').src.indexOf('%3CANGLE%')!=-1 && ++i<10) dgi('imgCacheFull').src=url; // IE WA
}
if(adaptViewport) updateOrientation();
if(imgLoaded || phpBrowser=='opera' || bBrowser=='iPhone') {setLoading(false); proceedLoadBuffer();}
}
function toggleSlideshow(ns){
if(slideshow==ns) return;
if(!slideshow && zoom=='full') toggleZoom(true,true);
slideshow=ns;
var tmpH=dgi('headerNormal').offsetHeight;
dgi('headerNormal').style.display=((slideshow)?'none':'');
dgi('headerSlideshow').style.top=((slideshow)?'':'-1000px');
if(slideshow){
dgi('frame1').className='blackFrame'; D.body.style.background='black';
dd.elements['imgDiv'].setDraggable(false);
dd.elements['imgNextDiv'].setDraggable(false);
dd.elements['imgPrevDiv'].setDraggable(false);
dd.recalc();
eval("controlSliderInit"+SLIDESHOW_TIMER_CONTROL_NAME+"()");
slideshowResume();
}
else{
slideshowPause();
dgi('frame1').className='frame1'; D.body.style.background='';
if(winMe.isBorderless()) winMe.resetBorders();
dd.elements['imgDiv'].setDraggable(true);
dd.elements['imgNextDiv'].setDraggable(true);
dd.elements['imgPrevDiv'].setDraggable(true);
winMe.setCaption(defaultTitle);
}
winResized();
submitFrm('toggleSlideshow');
}
function slideshowPause(){
dgi('slideShowPauseBt').style.display='none';
dgi('slideShowResumeBt').style.display='';
slideshowRunning=0;
slideShowTimer=clearTimeout(slideShowTimer);
}
function slideshowResume(){
dgi('slideShowPauseBt').style.display='';
dgi('slideShowResumeBt').style.display='none';
slideshowRunning=1;
slideShowTimer = setTimeout("buttonNext()",sTimeout);
}
function keyPressed(e){
if(zooming) return;
if (e.keyCode) kc=e.keyCode; else kc=e.which;
if(kc==27) winMe.closeMe(); // Esc
if((kc==43 || kc==107) && zoom=='resized') {
if(!slideshow && !dd.elements['imgDiv'].isLaunched) toggleZoom(1,1); // plus
}
if((kc==45 || kc==109) && zoom=='full') {
if(!slideshow && !dd.elements['imgDiv'].isLaunched) toggleZoom(0,1); // minus
}
if((kc==37 || kc==33 || kc==178 || kc==33) && zoom=='resized') buttonPrev();
if((kc==39 || kc==34 || kc==177 || kc==34) && zoom=='resized') buttonNext();
if(kc==13) buttonNext(); // enter
if(kc==32 && slideshow) {if(dgi('slideShowPauseBt').style.display=='none') slideshowResume(); else slideshowPause();}
else if(kc==32) buttonNext(); // Space
if(zoom=='full' && ((kc>36 && kc<41) || (kc>174 && kc<179) || (kc==33 || kc==34))){
var step=aw/4/100;
if(kc==175 || kc==38) dd.elements['imgDiv'].launch(0,step); // up
if(kc==176 || kc==40) dd.elements['imgDiv'].launch(0,-step); // down
if(kc==177 || kc==39) dd.elements['imgDiv'].launch(-step,0); //right
if(kc==178 || kc==37) dd.elements['imgDiv'].launch(step,0); // left
if(kc==33) dd.elements['imgDiv'].launch(0,step*4);//pgup
if(kc==34) dd.elements['imgDiv'].launch(0,-step*4);//pgdown
var corX=dd.elements['imgDiv'].x;
var corY=dd.elements['imgDiv'].y;
if((dd.elements['imgDiv'].x>al || dd.elements['imgDiv'].x<aw+al-w) && fw>aw) corX=Math.max(Math.min(dd.elements['imgDiv'].x,al),aw+al-w);
else if(fw<aw) corX=aw/2+al-fw/2;
if((dd.elements['imgDiv'].y>at || dd.elements['imgDiv'].y<ah+at-h) && fh>ah) corY=Math.max(Math.min(dd.elements['imgDiv'].y,at),ah+at-h)
else if(fh<ah) corY=ah/2+at-fh/2;
if(corX!=dd.elements['imgDiv'].x || corY!=dd.elements['imgDiv'].y) dd.elements['imgDiv'].moveTo(corX,corY);
}
return false;
}
function updateOrientation(){
window.scrollTo(0,1);
var o=iorient();
if(zoom=='resized' || !fw){
if(o==0){ // portrait
dgn('viewport').setAttribute("content", "width=320, height=416, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1");
D.body.style.width='320px'; D.body.style.height='416px';
}
if(o==1){ // landscape
dgn('viewport').setAttribute("content", "width=480, height=268, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1");
D.body.style.width='480px'; D.body.style.height='268px';
}
}
else{
if(fw) dgn('viewport').setAttribute("content", "width="+fw+", height="+fh+", user-scalable=yes");
}
winResized();
W.scrollTo(0,1);
}
function iorient(){return (Math.abs(window.orientation/90)%2)}
function bgClick(){
if(bDrag) return;
if(toggleZoomLocked) return;
if(mouseY<at || mouseY<dgi('headerNormal').offsetHeight*1.5 || mouseY<dgi('headerSlideshow').offsetHeight*1.5) return;
if(mouseX<aw/2+al) buttonPrev(); else buttonNext();
}